package com.panda.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.panda.common.annotation.Excel;
import com.panda.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 任务完成明细对象 panda_task_detail
 * 
 * @author ruoyi
 * @date 2021-01-02
 */
public class PandaTaskDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 任务明细ID */
    private Long taskDetailId;

    /** 任务ID */
    @Excel(name = "任务ID")
    private Long taskId;

    /** 交易量 */
    @Excel(name = "交易量")
    private Integer tradingVolume;

    /** 买家旺旺 */
    @Excel(name = "买家旺旺")
    private String buyerNick;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 交易类型 0当天 1预留 */
    @Excel(name = "交易类型 0当天 1预留")
    private String tradingType;

    /** 订单类型 0现结单 1评价 */
    @Excel(name = "订单类型 0现结单 1评价")
    private String orderType;

    /** 返款类型 0付款前 1付款后 */
    @Excel(name = "返款类型 0付款前 1付款后")
    private String rebatesType;

    /** 用户类型 0新人 1老人 */
    @Excel(name = "用户类型 0新人 1老人")
    private String buyerType;

    /** 返款渠道 0微信收款码 1银行卡 */
    @Excel(name = "返款渠道 0微信收款码 1银行卡")
    private String rebatesChannel;

    /** 返款渠道明细 */
    @Excel(name = "返款渠道明细")
    private String rebatesWay;

    /** 返款金额 */
    @Excel(name = "返款金额")
    private BigDecimal rebatesAmount;

    /** 状态（0新建 1待付款，2已付款，3待评价，4已评价，5已追评，6已完成） */
    @Excel(name = "状态", readConverterExp = "0=新建,1=待付款，2已付款，3待评价，4已评价，5已追评，6已完成")
    private String status;

    /** 责任人 ID */
    @Excel(name = "责任人 ID")
    private Long responsibleUserId;

    private String wxCode;

    /** 付款时间 */
    @Excel(name = "付款时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;

    private String userName;
    private PandaTask pandaTask;

    private Date startTime;
    private Date endTime;

    private String unStatus;

    private String rebatesUserName;

    private String rebatesStatus;

    public void setTaskDetailId(Long taskDetailId) 
    {
        this.taskDetailId = taskDetailId;
    }

    public Long getTaskDetailId() 
    {
        return taskDetailId;
    }
    public void setTaskId(Long taskId)
    {
        this.taskId = taskId;
    }

    public Long getTaskId()
    {
        return taskId;
    }
    public void setTradingVolume(Integer tradingVolume) 
    {
        this.tradingVolume = tradingVolume;
    }

    public Integer getTradingVolume() 
    {
        return tradingVolume;
    }
    public void setBuyerNick(String buyerNick) 
    {
        this.buyerNick = buyerNick;
    }

    public String getBuyerNick() 
    {
        return buyerNick;
    }
    public void setTradingType(String tradingType) 
    {
        this.tradingType = tradingType;
    }

    public String getTradingType() 
    {
        return tradingType;
    }
    public void setOrderType(String orderType) 
    {
        this.orderType = orderType;
    }

    public String getOrderType() 
    {
        return orderType;
    }
    public void setRebatesType(String rebatesType) 
    {
        this.rebatesType = rebatesType;
    }

    public String getRebatesType() 
    {
        return rebatesType;
    }
    public void setBuyerType(String buyerType) 
    {
        this.buyerType = buyerType;
    }

    public String getBuyerType() 
    {
        return buyerType;
    }
    public void setRebatesChannel(String rebatesChannel) 
    {
        this.rebatesChannel = rebatesChannel;
    }

    public String getRebatesChannel() 
    {
        return rebatesChannel;
    }
    public void setRebatesWay(String rebatesWay) 
    {
        this.rebatesWay = rebatesWay;
    }

    public String getRebatesWay() 
    {
        return rebatesWay;
    }
    public void setRebatesAmount(BigDecimal rebatesAmount) 
    {
        this.rebatesAmount = rebatesAmount;
    }

    public BigDecimal getRebatesAmount() 
    {
        return rebatesAmount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setResponsibleUserId(Long responsibleUserId) 
    {
        this.responsibleUserId = responsibleUserId;
    }

    public Long getResponsibleUserId() 
    {
        return responsibleUserId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("taskDetailId", getTaskDetailId())
            .append("taskId", getTaskId())
            .append("tradingVolume", getTradingVolume())
            .append("buyerNick", getBuyerNick())
            .append("tradingType", getTradingType())
            .append("orderType", getOrderType())
            .append("rebatesType", getRebatesType())
            .append("buyerType", getBuyerType())
            .append("rebatesChannel", getRebatesChannel())
            .append("rebatesWay", getRebatesWay())
            .append("rebatesAmount", getRebatesAmount())
            .append("status", getStatus())
            .append("responsibleUserId", getResponsibleUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }



    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public PandaTask getPandaTask() {
        return pandaTask;
    }

    public void setPandaTask(PandaTask pandaTask) {
        this.pandaTask = pandaTask;
    }

    public String getWxCode() {
        return wxCode;
    }

    public void setWxCode(String wxCode) {
        this.wxCode = wxCode;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    public String getUnStatus() {
        return unStatus;
    }

    public void setUnStatus(String unStatus) {
        this.unStatus = unStatus;
    }

    public String getRebatesUserName() {
        return rebatesUserName;
    }

    public void setRebatesUserName(String rebatesUserName) {
        this.rebatesUserName = rebatesUserName;
    }

    public String getRebatesStatus() {
        return rebatesStatus;
    }

    public void setRebatesStatus(String rebatesStatus) {
        this.rebatesStatus = rebatesStatus;
    }
}
